Repository navigation
ci: use the shared org workflows for image builds, PR image cleanup, PR-title lint and actionlint - #261
Conversation
…module release - aam-backend-service: build the image with the shared docker-image workflow on native runners (amd64 + arm64), same tags as before (`<version>`, `stable`, `latest` for releases, `main`, `pr-<n>`); PR images are linux/amd64 only. Replaced images are deleted right away. - PR closed: delete the PR's `pr-<n>` image with the shared pr-image-cleanup workflow. - Both modules create their release with one local reusable workflow `_module-release.yml` (conventional_commits_next_version per module, with the guard for modules without new commits). - keycloak-third-party-authentication: drop the undefined `matrix.platform` and the unused registry login/metadata, scope its build cache. Refs Aam-Digital/internal#392 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs Aam-Digital/internal#392 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keeps the repo-specific managers and the jvm-toolchain, keycloak and carbone rules. Refs Aam-Digital/internal#392 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The templates now live in Aam-Digital/.github (generalized from these); GitHub only uses the org defaults for repositories without their own .github/ISSUE_TEMPLATE folder. Refs Aam-Digital/internal#392 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Verification of the PR image
Release ( cleanup-replaced: I re-ran the PR build job, which pushed a new The package now holds only the new |
…th platforms PR images are linux/amd64 only, so the main build is the first arm64 build of a change. Refs Aam-Digital/internal#392 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs Aam-Digital/internal#392 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Second-commit check (push |
…BUILD_SECRETS Same as before the move: release and main builds get SENTRY_UPLOAD_SOURCES=true and the sentry_auth_token build secret, pull requests (including forks) neither. Refs Aam-Digital/internal#392 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The shared docker-image workflow no longer deletes replaced images itself; pr-image-cleanup now deletes untagged images older than 2 days (Aam-Digital/.github#1). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…prereleases Uses the shared edge-version workflow (Aam-Digital/.github#1): version <last release, patch + 1>-edge.<commits since>, tagged `edge` too while it is the newest commit. Edge images of a finished cycle are pruned after the next full release. The shared release workflow no longer takes `type`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ombined image-cleanup.yml) - image-prune.yml and pr-image-cleanup.yml are now one image-cleanup.yml (`tags` instead of `tag-patterns`; callers grant `actions: write` too). - docker-image.yml builds every platform on a native runner: check names are now `<job> / build (<platform>)` and `<job> / merge`, and the `native-runners` input is gone. - The `org.opencontainers.image.version` label of PR images is set by the shared workflow from the first tag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Aam-Digital/.github#1 is merged and tagged `v1`; its branch is deleted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Part of Aam-Digital/internal#392: CI moves to the shared workflows of Aam-Digital/.github#1. They are called at
@v1(.github#1 is merged).What
Backend image (
aam-backend-service-build-and-publish.yml)Built with the shared
docker-image.yml, which builds every platform on a native runner: amd64 onubuntu-latest, arm64 onubuntu-24.04-arm, then merged by digest. This is the same approach as before.Package stays
ghcr.io/aam-digital/aam-services. Tags are unchanged:aam-backend-service/<version><version>(nov),stable,latestmain(edge build)X.Y.Z-edge.N(the lastaam-backend-service/X.Y.Zwith the patch number bumped, plus the commits since; sharededge-version.yml), plusedgeandmainwhile it is the newest commitpr-<n>The
aam-backend-servicepackage has not been pushed since the switch toaam-services(ci(aam-backend-service): publish as aam-services, tags without "v", add stable #219), and nothing in the org references it. So it is not published to.APPLICATION_VERSION(Sentry release): the version for releases, the edge version formainbuilds, the commit SHA for PRs.mainbuilds no longer just overwritemain: each has its own edge version tag. A newer push cancels an oldermainbuild (concurrency), and after each release the jobprune-edge-imagesdeletes the edge images of the finished cycle (the imagesedge,main,stable,latestpoint to are kept).mainstays during the transition, until nothing follows it any more.Sentry source bundles are preserved: the shared workflow's
BUILD_SECRETSpasses thesentry_auth_tokenBuildKit secret (fromSENTRY_TOKEN) together withSENTRY_UPLOAD_SOURCES=trueon every non-PR build (main and release tags). Pull requests, including forks, get neither and skip the upload, exactly as before. The upload itself cannot be tested before merge.New behaviour from the shared workflow:
image-cleanup.yml(on PR close and after releases) deletes untagged images older than 2 days (feat: shared CI workflows, release automation, Renovate presets and org defaults .github#1). This covers olderpr-<n>pushes and the previousmainimage.provenance: falseis gone).testis unchanged.publishnow waits for the image build as well as fortest. PR images are amd64 only, so the main build is the first arm64 build of a change. A release whose tag-push image would fail on arm64 is therefore not created.PR image cleanup (
pr-closed.yml): when a PR closes, the sharedimage-cleanup.ymldeletes itspr-<n>image fromaam-services. It first cancels any still-running PR build ofaam-backend-service-build-and-publish.yml.Module release (
_module-release.yml, local reusable workflow)module,version-prefixandasset-artifact.conventional_commits_next_versionper module. The "no commits touch the module → no release" guard from chore(ci): skip release version calculation when a module has no new commits #227 stays.aam-backend-service/<version>, which ndb-setup reads from the release name.keycloak-third-party-authentication/v<version>, with the jar attached. keycloak-aam downloads the jar from there.--notes-start-tag).keycloak-third-party-authentication
matrix.platform.packages: writeany more.Also in this PR
pr-title-lint.ymlandactionlint.yml.renovate.jsonextends the org preset (the aam-services proposal from internal#392)..github/ISSUE_TEMPLATE/is removed in favour of the org defaults. Those were generalized from these templates, and the only lost detail is the backend-specific wording ("Backend version (image tag), enabled feature modules").Required checks
The ruleset still requires
build (linux/amd64, ubuntu-latest). That check stays "Expected — waiting" on this PR, because the job now reports as:build / build (linux/amd64)(replaces it)build / mergebuild / build (linux/arm64), which runs onmainand release tags onlytestandCodeRabbitare unchanged. Update the ruleset when this is merged: requirebuild / build (linux/amd64), and optionallybuild / merge. Never requirebuild / build (linux/arm64): it doesn't run on PRs, so it would block every PR.actionlint / actionlintandpr-title / Validate PR titleare new and could be made required.Testing
renovate-config-validator --strict(Renovate 44.155.8): valid.cleanup-replacedresult there is outdated: that step was replaced by the PR-close sweep.)_module-release.yml, main push and tag push);pull_request_targetruns from the base branch);🤖 Generated with Claude Code